#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk
import os
import os.path


def exemplos_carrega_lista(store, exemplos_dir):
    """Carrega a lista de imagens, com base nos arquivos no diretorio de
    exemplos"""

    arqs = []
    for arq in os.listdir( os.path.join("exemplos", exemplos_dir) ):
        if arq[-3:] == "jpg":
            if not "_small" in arq:
                #print( "Adicionando arquivo <" + arq + "> de <" + exemplos_dir + ">" )
                arqs.append( arq[:-4] )
    
    arqs.sort()
    for arq in arqs:
        arq_full = os.path.join( "exemplos", exemplos_dir, arq + "_small.jpg" )

        if os.path.exists( arq_full ):
            #print( "Usando icone <" + arq_full + "> para a imagem <" + arq + ">" )
            img = gtk.gdk.pixbuf_new_from_file( arq_full )
        else:
            print( "Icone não encontrado: " + arq_full )

        store.append( [arq, img] )


def exemplos_configura_lista(combo):

    """Configura o combo de imagens de exemplo pra renderizar as colunas
    de figura + texto"""
    
    textRenderer = gtk.CellRendererText()
    imgRenderer = gtk.CellRendererPixbuf()
    
    textRenderer.set_property( "xpad", 4 )
    textRenderer.set_property( "xalign", 0.0 )
    imgRenderer.set_property( "xalign", 0.0 )

    combo.pack_start( imgRenderer, expand = False )        
    combo.add_attribute( imgRenderer, "pixbuf", 1 )

    combo.pack_start( textRenderer, expand = True )
    combo.add_attribute( textRenderer, 'text', 0 ) 



def exemplos_get_selected(combo):
    
    """Retorna a imagem selecionada"""
    
    sel = combo.get_active()
    if sel == -1:
        return ""
    
    store = combo.get_model()
    it = store.get_iter( (sel,) )
    arq = store.get_value( it, 0 ) + ".jpg"
    return arq

